package com.qk.management.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qk.common.PageResult;
import com.qk.domain.business.BusinessDO;
import com.qk.dto.business.BusinessDTO;
import com.qk.dto.business.BusinessDetailDTO;
import com.qk.dto.business.BusinessListDTO;
import com.qk.entity.Business;


public interface BusinessService extends IService<Business> {
    /**
     * 商机列表查询
     * @param dto 查询条件
     * @return 分页结果
     */
    PageResult<BusinessDO> getBusinessList(BusinessListDTO dto);
    
    /**
     * 公海列表查询
     * @param dto 查询条件
     * @return 分页结果
     */
    PageResult<Business> getBusinessPool(BusinessListDTO dto);
    
    /**
     * 添加商机
     * @param businessDTO 商机信息
     */
    void addBusiness(BusinessDTO businessDTO);
    
    /**
     * 分配商机给用户
     * @param businessId 商机ID
     * @param userId 用户ID
     */
    void assignBusiness(Integer businessId, Integer userId);
    
    /**
     * 退回商机到公海
     * @param id 商机ID
     */
    void backToPool(Integer id);
    
    /**
     * 将商机转为客户
     * @param id 商机ID
     */
    void toCustomer(Integer id);
    
    /**
     * 根据ID查询商机详情
     * @param id 商机ID
     * @return 商机详情信息（包含跟进记录）
     */
    BusinessDetailDTO getBusinessById(Integer id);
    
    /**
     * 根据ID删除商机
     * @param id 商机ID
     */

}